#!/bin/bash
set -e  # 脚本执行出错时立即退出

# 配置参数（和 docker-compose 中的环境变量对应）
MONGO_USER="root"
MONGO_PASS="123456"
DB_NAME="ez-admin"
BACKUP_PATH="/backup/ez-admin"  # 镜像内的备份路径（Dockerfile 中复制的位置）

# 等待 MongoDB 启动（最多等 30 秒）
echo "等待 MongoDB 启动..."
for i in {1..15}; do
  # 尝试连接 MongoDB，成功则退出循环
  mongosh -u "$MONGO_USER" -p "$MONGO_PASS" --authenticationDatabase admin --eval "db.version()" > /dev/null 2>&1
  if [ $? -eq 0 ]; then
    echo "MongoDB 已启动，开始导入数据..."
    break
  fi
  echo "等待中（$i/15）..."
  sleep 2
done

# 执行数据导入（和你手动执行的命令完全一致）
echo "执行导入命令：mongorestore -u $MONGO_USER -p $MONGO_PASS --authenticationDatabase admin --db $DB_NAME $BACKUP_PATH"
mongorestore \
  -u "$MONGO_USER" \
  -p "$MONGO_PASS" \
  --authenticationDatabase admin \
  --db "$DB_NAME" \
  "$BACKUP_PATH" \
  --verbose

echo "数据导入完成！"